Skip to content
This repository has been archived by the owner on Jan 8, 2024. It is now read-only.

Releases: LSPosed/LSPosed

1.9.2

11 Oct 15:11
f892775
Compare
Choose a tag to compare

Changelog

  • Fix IContentProvider for Android P and below
  • Properly handle invalid Parcel
  • Fix invalid setOverrideTable address on some devices
  • Move manager APK to the module path
  • Fix remote preferences listener not working on system_server
  • Fix hook crash on Android 14
  • Fix static method hook on some Android 14 devices
  • Fix some LoadedApks not calling onPackageLoad
  • Fix the wrong path of the new XSharedPreferences
  • Add tips about deploying optimizations in Android Studio

更新日志

  • 修复 Android P 及以下版本的 IContentProvider
  • 正确处理无效的 Parcel
  • 修复某些设备上无效的 setOverrideTable 地址
  • 将管理器 APK 移动到模块路径
  • 修复系统框架上 remote preference 监听器无效的问题
  • 修复 Android 14 上的 hook 错误
  • 修复某些设备上 Android 14 的静态方法 hook 问题
  • 修复一些 LoadedApk 没有回调 onPackageLoad
  • 修复新 XSharedPreferences 的路径错误
  • 增加 Android Studio 部署优化提示

Contributors

@rawer886 @Howard20181 @yujincheng08 @Dr-TSNG @naicfeng @vvb2060

Full Changelog: v1.9.1...v1.9.2

1.9.1

30 Aug 07:28
3f99118
Compare
Choose a tag to compare

API Changes

  • Implementation of Modern Xposed API:
    Currently, most part of the new API has been roughly stable (except helper). We hope developers can test the new API to provide feedback on possible issues. The modern API will be published to Maven Central with the release of LSPosed 2.0.0, so before this, you can make suggestions to help make it better.
  • Allow hooking processes of the android package besides system_server (See this commit): For historical reasons, the package name of system_server was changed to android (See this commit from rovo89). To correct this behavior, for legacy modules, no code adjustment is needed, but the system framework is displayed as system instead of android in manager, with a new package android which is responsible for system dialogs, etc. For modern modules, the meaning of system and android in the declared scope have the same meaning as they display in manager.
system_server: uid=1000 pkg=system  proc=system
ChooserActivity,ResolverActivity: uid=1000 pkg=android proc=android:ui,system:ui

Changelog

  • Fix manager failed to launch when typing secret code in dialer
  • Fix notification on Samsung
  • Add Vercel/Cloudflare fallback for module repository
  • Magisk version requires 24.0+, and for Riru favor, requires Riru 26.1.7+
  • Make dex2oat wrapper more compatible, e.g. on KernelSU
  • Fix some hooks on Android 8.1
  • Add more hints for creating the shortcut and notification
  • Fix backup race, fix 'JNI DETECTED ERROR IN APPLICATION: java_object == null'
  • Fix processName for handleLoadedPackage's lpparam
  • Fix isFirstPackage for afterHookedMethod
  • Fix notification intent for Android 14
  • Fix manager dark theme
  • Unconditional allow create shortcut except default desktop is not supported
  • Fix NPE due to null getModule() return value
  • Fix the typo in AfterHooker class name
  • A11y: Add label for search buttons
  • Set EUID to 1000 to fix notification and get modules list for Flyme
  • Fix a race by lock-free backup implementation
  • Predefine some SQLite modes for better performance
  • Set db sync mode for Android P+, fix some Oplus devices not working
  • Skip secondary classloaders that do not include code
  • Avoid NPE when rendering empty markdown, fix a manager crash
  • Add Installed hint for repo modules
  • [translation] Update translation from Crowdin
  • Upgrade target SDK to 34
  • Only clear module's LoadedApks rather than all
  • Upgrade Dobby, fix native hook on arm32
  • Show manager package name instead of version
  • Always allow pinning shortcuts, regardless of whether they are pinned or not
  • Fix ANR when the boot is completed for Android 14
  • Fix IActivityManager.bindService for Android 14
  • Don't shrink non-AdaptiveIcons
  • Fix the task icon for the manager
  • Enable Xposed API call protection by default
  • Fix notification setting bottom status

API 变更

  • 实现了 Modern Xposed API
    目前,新 API 的大部分已经相对稳定(除了 helper)。我们希望开发者能够测试新 API,并提供反馈以解决可能存在的问题。现代 API 将在 LSPosed 2.0.0 发布时发布到 Maven Central,因此在此之前,您可以提出建议以帮助改进它。
  • 允许钩住 system_server 外的 android 进程(查看此提交):
    由于历史原因,system_server 的包名被更改为 androidChooserActivity等系统UI的包名被更改为 system(请参阅 rovo89 的此提交)。为纠正此行为,管理器作用域界面中的 systemandroid 的含义现与它们的实际含义相同。我们保留传统模块代码层面的相反含义,但现代模块已得到更正。
system_server: uid=1000 pkg=system  proc=system
ChooserActivity,ResolverActivity: uid=1000 pkg=android proc=android:ui,system:ui

更新日志

  • 修复在拨号器中输入暗码启动管理器无效的问题
  • 修复三星设备上的通知问题
  • 添加 Vercel/Cloudflare 作为模块仓库的后备方案
  • Magisk 版本要求 24.0+,对于 Riru,要求 Riru 26.1.7+
  • 使 dex2oat 包装器更兼容,例如在 KernelSU 上
  • 修复 Android 8.1 上的一些钩子问题
  • 为创建快捷方式和通知添加更多提示
  • 修复备份冲突,修复 'JNI DETECTED ERROR IN APPLICATION: java_object == null'
  • 修复 handleLoadedPackagelpparam 中的 processName
  • 修复 afterHookedMethodisFirstPackage
  • 修复 Android 14 的通知意图
  • 修复管理器的暗色主题
  • 无条件允许创建快捷方式,除非默认桌面不支持
  • 修复由于空的 getModule() 返回值引起的 NPE
  • 修复 AfterHooker 类名中的拼写错误
  • 辅助功能:为搜索按钮添加标签
  • 将 EUID 设置为 1000 以修复 Flyme 上的通知和模块列表
  • 通过无锁备份实现修复竞争问题
  • 预定义一些 SQLite 模式以提高性能
  • 为 Android P+ 设置 db 同步模式,修复一些 Oplus 设备无法工作的问题
  • 跳过不包含代码的次级类加载器
  • 在渲染空的 Markdown 时避免 NPE,修复管理器崩溃问题
  • 为仓库模块添加已安装提示
  • [翻译] 从 Crowdin 更新翻译
  • 将目标 SDK 升级到 34
  • 只清除模块的 LoadedApks 而不是全部清除
  • 升级 Dobby,修复在 arm32 上的native hook问题
  • 显示管理器的包名而不是版本号
  • 始终允许固定快捷方式,无论它们是否已固定
  • 修复 Android 14 启动完成后的 ANR 问题
  • 修复 Android 14 的 IActivityManager.bindService
  • 不为非自适应图标应用系统图标形状
  • 修复管理器的任务图标
  • 默认启用 Xposed API 调用保护功能
  • 修复通知开关状态

Contributors

@libxzr @yujincheng08 @Howard20181 @vvb2060 @Dr-TSNG @naicfeng @aviraxp @StefMa @delvinru @5ec1cff @anonymix007 @JasonKhew96

Full Changelog: v1.8.6...v1.9.1

1.9.0

29 Aug 15:26
37b38d8
Compare
Choose a tag to compare

This version was replaced by v1.9.1 due to a signature error

API Changes

  • Implementation of Modern Xposed API:
    Currently, most part of the new API has been roughly stable (except helper). We hope developers can test the new API to provide feedback on possible issues. The modern API will be published to Maven Central with the release of LSPosed 2.0.0, so before this, you can make suggestions to help make it better.
  • Allow hooking processes of the android package besides system_server (See this commit): For historical reasons, the package name of system_server was changed to android (See this commit from rovo89). To correct this behavior, for legacy modules, no code adjustment is needed, but the system framework is displayed as system instead of android in manager, with a new package android which is responsible for system dialogs, etc. For modern modules, the meaning of system and android in the declared scope have the same meaning as they display in manager.
system_server: uid=1000 pkg=system  proc=system
ChooserActivity,ResolverActivity: uid=1000 pkg=android proc=android:ui,system:ui

Changelog

  • Fix manager failed to launch when typing secret code in dialer
  • Fix notification on Samsung
  • Add Vercel/Cloudflare fallback for module repository
  • Magisk version requires 24.0+, and for Riru favor, requires Riru 26.1.7+
  • Make dex2oat wrapper more compatible, e.g. on KernelSU
  • Fix some hooks on Android 8.1
  • Add more hints for creating the shortcut and notification
  • Fix backup race, fix 'JNI DETECTED ERROR IN APPLICATION: java_object == null'
  • Fix processName for handleLoadedPackage's lpparam
  • Fix isFirstPackage for afterHookedMethod
  • Fix notification intent for Android 14
  • Fix manager dark theme
  • Unconditional allow create shortcut except default desktop is not supported
  • Fix NPE due to null getModule() return value
  • Fix the typo in AfterHooker class name
  • A11y: Add label for search buttons
  • Set EUID to 1000 to fix notification and get modules list for Flyme
  • Fix a race by lock-free backup implementation
  • Predefine some SQLite modes for better performance
  • Set db sync mode for Android P+, fix some Oplus devices not working
  • Skip secondary classloaders that do not include code
  • Avoid NPE when rendering empty markdown, fix a manager crash
  • Add Installed hint for repo modules
  • [translation] Update translation from Crowdin
  • Upgrade target SDK to 34
  • Only clear module's LoadedApks rather than all
  • Upgrade Dobby, fix native hook on arm32
  • Show manager package name instead of version
  • Always allow pinning shortcuts, regardless of whether they are pinned or not
  • Fix ANR when the boot is completed for Android 14
  • Fix IActivityManager.bindService for Android 14
  • Don't shrink non-AdaptiveIcons
  • Fix the task icon for the manager
  • Enable Xposed API call protection by default

API 变更

  • 实现了 Modern Xposed API
    目前,新 API 的大部分已经相对稳定(除了 helper)。我们希望开发者能够测试新 API,并提供反馈以解决可能存在的问题。现代 API 将在 LSPosed 2.0.0 发布时发布到 Maven Central,因此在此之前,您可以提出建议以帮助改进它。
  • 允许钩住 system_server 外的 android 进程(查看此提交):
    由于历史原因,system_server 的包名被更改为 androidChooserActivity等系统UI的包名被更改为 system(请参阅 rovo89 的此提交)。为纠正此行为,管理器作用域界面中的 systemandroid 的含义现与它们的实际含义相同。我们保留传统模块代码层面的相反含义,但现代模块已得到更正。
system_server: uid=1000 pkg=system  proc=system
ChooserActivity,ResolverActivity: uid=1000 pkg=android proc=android:ui,system:ui

更新日志

  • 修复在拨号器中输入暗码启动管理器无效的问题
  • 修复三星设备上的通知问题
  • 添加 Vercel/Cloudflare 作为模块仓库的后备方案
  • Magisk 版本要求 24.0+,对于 Riru,要求 Riru 26.1.7+
  • 使 dex2oat 包装器更兼容,例如在 KernelSU 上
  • 修复 Android 8.1 上的一些钩子问题
  • 为创建快捷方式和通知添加更多提示
  • 修复备份冲突,修复 'JNI DETECTED ERROR IN APPLICATION: java_object == null'
  • 修复 handleLoadedPackagelpparam 中的 processName
  • 修复 afterHookedMethodisFirstPackage
  • 修复 Android 14 的通知意图
  • 修复管理器的暗色主题
  • 无条件允许创建快捷方式,除非不支持默认桌面
  • 修复由于空的 getModule() 返回值引起的 NPE
  • 修复 AfterHooker 类名中的拼写错误
  • 辅助功能:为搜索按钮添加标签
  • 将 EUID 设置为 1000 以修复 Flyme 上的通知和模块列表
  • 通过无锁备份实现修复竞争问题
  • 预定义一些 SQLite 模式以提高性能
  • 为 Android P+ 设置 db 同步模式,修复一些 Oplus 设备无法工作的问题
  • 跳过不包含代码的次级类加载器
  • 在渲染空的 Markdown 时避免 NPE,修复管理器崩溃问题
  • 为仓库模块添加已安装提示
  • [翻译] 从 Crowdin 更新翻译
  • 将目标 SDK 升级到 34
  • 只清除模块的 LoadedApks 而不是全部清除
  • 升级 Dobby,修复在 arm32 上的native hook问题
  • 显示管理器的包名而不是版本号
  • 始终允许固定快捷方式,无论它们是否已固定
  • 修复 Android 14 启动完成后的 ANR 问题
  • 修复 Android 14 的 IActivityManager.bindService
  • 不为非自适应图标应用系统图标形状
  • 修复管理器的任务图标
  • 默认启用 Xposed API 调用保护功能

Contributors

@libxzr @yujincheng08 @Howard20181 @vvb2060 @Dr-TSNG @naicfeng @aviraxp @StefMa @delvinru @5ec1cff @anonymix007 @JasonKhew96

Full Changelog: v1.8.6...v1.9.0

1.8.6

16 Jan 15:36
v1.8.6
5666dca
Compare
Choose a tag to compare

New Xposed API proposal

As Android version iterates, the original Xposed API by rovo89 reaches its limits. Now we are working on the new modern Xposed API with features of application scope management, remote preferences, dex parser interface and so on.
The new API will be implemented in the next releasing of LSPosed, and it is welcome to post your suggestions on https://github.com/libxposed.

New way to open parasitic manager

Some devices cannot create shortcuts due to kernel issues, now LSPosed switches to opening parasitic manager from notification. This notification is always present and can be disable in manager settings after created a shortcut.

Changelog

  • Some manager UI fixes
  • Update DoH
  • Set the dex2oat wrapper owner and group to root:shell
  • Guard backup during hook
  • Add notification to open parasitic manager
  • Fix hook 32bit process
  • Fix dex2oat fallback
  • Fix webview permission

新的 Xposed API 提案

随着 Android 版本的迭代,原有的 rovo89 Xposed API 已经达到了极限。 我们正在开发新的现代 Xposed API,它具有模块作用域管理、远程配置文件、dex 解析器接口等功能。
新的 API 将在 LSPosed 的下一个版本中实现,欢迎在 https://github.com/libxposed 上发表您的建议。

新的管理器打开方式

有部分设备因内核问题无法创建快捷方式,现在 LSPosed 切换到从通知打开管理器。此通知一直存在,也可以在创建了快捷方式之后在管理器设置中关闭通知。

更新日志

  • 一些管理器界面修复
  • 更新安全 DNS 实现
  • 将 dex2oat 包装器权限设置为 root:shell
  • hook 期间保护备份
  • 添加从通知打开寄生管理器的方式
  • 修复 hook 32 位进程
  • 修复 dex2oat 回退
  • 修复 webview 文件权限

Contributors

@yujincheng08 @vvb2060 @Howard20181 @Dr-TSNG

1.8.5

11 Nov 13:18
8f3684a
Compare
Choose a tag to compare

Changelog

  • Update translation to fix crashes in some languages
  • Some UI fixes
  • Avoid calling finishReceiver for unordered broadcasts
  • Clear application profile data before performing dexOpt
  • Distinguish update channels when checking updates
  • Fix hooking/deoptimizing static methods fails on some Android 13 devices
  • Repository shows assets size and download counts
  • Fix hooking proxy method
  • Init resources hook when calling hookSystemWideLayout

更新日志

  • 更新翻译以修复部分语言下的崩溃
  • 一些用户界面的修复
  • 避免为无序广播调用 finishReceiver
  • 执行 dexOpt 之前清空应用 profile 数据
  • 检查更新时候区分更新通道
  • 修复某些 Android 13 设备上静态方法挂钩/反优化失败
  • 仓库显示附件大小和下载次数
  • 修复代理方法挂钩
  • 调用 hookSystemWideLayout 时候初始化资源钩子

Contributors

@yujincheng08 @vvb2060 @Howard20181 @green1052 @5ec1cff

1.8.4

14 Sep 06:51
d76572a
Compare
Choose a tag to compare

Changelog

  • Tested support for Android 13
  • Fix module preference on non-primary users
  • Fix log saving
  • Apply the SELinux label of the entire WebView cache directory
  • Refactor core
  • Fix cancelNotificationWithTag for Android 11-
  • Fix broadcastIntentWithFeature on Android 12+
  • Manager targets SDK 33
  • Replace the corruption handler of DB to avoid crashing
  • Use abseil to improve performance
  • Display module/releases last publish time
  • Fix deoptimize static methods
  • Preliminary support for Android 14

更新日志

  • 通过 Android 13 兼容性测试
  • 修复非主用户的模块配置
  • 修复日志保存
  • 调整管理器 WebView 缓存目录的 SELinux 标签
  • 重构核心
  • 修复 Android 11- 的 cancelNotificationWithTag
  • 修复 Android 12+ 的 broadcastIntentWithFeature
  • 管理器目标 SDK 33
  • 替换数据库的损坏句柄以避免崩溃
  • 使用 abseil 提升性能
  • 显示模块/发行版的发布时间
  • 修复静态方法的去优化
  • 初步 Android 14 支持

Contributors

@vvb2060 @canyie @yujincheng08 @Dr-TSNG @chenxiaolong @1552980358 @TigerBeanst @dependabot @keta1 @1552980358 @fankes @Howard20181

1.8.3

07 May 13:09
c99c3b1
Compare
Choose a tag to compare

Changelog

  • Fix module not working normally on Android 10
  • Refine notification on module installation (thanks @fankes)
  • Fix hook may not work on debuggable apps/modules
  • Fix XSharedPreference after a soft reboot
  • Support Android 13 beta 1
  • Fix zygisk installation on x86 only devices
  • Fix manager state restoration

更新日志

  • 修复 Android 10 下模块工作异常
  • 完善模块安装通知(感谢 @fankes
  • 修复调试模式下模块或应用钩子可能失效
  • 修复软重启后的 XSharedPreference
  • 支持 Android 13 beta 1
  • 修复仅 x86 设备下 zygisk 版本的安装
  • 修复管理器状态恢复

1.8.2

17 Apr 07:43
961676d
Compare
Choose a tag to compare

Changelog

  • Fix rare inactivation after reboot
  • Prevent infinite recursion when modules hooked critical methods
  • Fix resource hook on ZUI devices
  • Fix resource hook for layout
  • Skip duplicate scopes for module process
  • Avoid creating the LoadedApk from ourselves
  • App UI improvements

更新日志

  • 修复一个低概率的未激活
  • 阻止因模块 hook 部分关键方法引发的无限递归
  • 修复 ZUI 设备上的资源钩子
  • 修复对布局的资源钩子
  • 修复模块重复加载
  • 避免自行创建 LoadedApk 引发的问题
  • App UI 更新与修复

1.8.1

09 Apr 11:15
52dc31d
Compare
Choose a tag to compare

Changelog

  • Fix preference of newly installed modules
  • Use a new way to prevent methods from being inlined for Android 10+
  • Fix crash when debugger attached to hooked process (hook may invalidate though)
  • Automatically delete old logs

更新日志

  • 修复新安装模块的配置
  • 在 Andrdoid 10+ 上使用新手段避免方法内联
  • 修复被 hook 进程挂载调试器后崩溃(hook 可能会失效)
  • 自动删除旧日志

1.8.0

23 Mar 11:32
57c1b8b
Compare
Choose a tag to compare

Changelog

  • Add a new feature to only allow module classloaders to access Xposed API
  • Fix language switch
  • Support Android 13 DP1 and DP2
  • Fix icon creation and resource hooks on ZUI devices
  • Improve cache performance in XposedHelpers (Thanks @rinorz)
  • Fix parasitic manager in Android 8.1
  • Fix module deactivation after reboot in rare cases
  • Fix resource cache since Android 11
  • Fix the first invoke invalid of hooked static methods since Android 12
  • Refactor to use LSPlant as ART hook framework

更新日志

  • 添加只允许模块类加载器使用 Xposed API 的新特性
  • 修复语言切换
  • 支持 安卓 13 DP1 和 DP2
  • 修复 ZUI 设备上的图标创建和资源挂钩
  • 提升 XposedHelpers 的缓存性能 (感谢 @rinorz)
  • 修复安卓 8.1 的寄生管理器
  • 修复罕见情况下重启后模块取消激活
  • 修复自 Android 11 以来的资源缓存
  • 修复自 Android 12 以来的被 hook 静态方法第一次调用失效的问题
  • 重构以使用 LSPlant 作为 ART hook 框架